home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / Me-Mz / MH Power Scripts v1.3.cpt / MH Power Scripts v1.3 / stack.txt < prev   
Text File  |  1988-05-06  |  6KB  |  213 lines

  1. -- stack: in.3
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x4000 (can't delete)
  4. -- protect password hash: 2389196536
  5. -- maximum user level: 2 (typing)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 3
  11. -- first background id: 2663
  12. -- card count: 20
  13. -- first card id: 5292
  14. -- list block id: 10451
  15. -- print block id: 6669
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 88032 bytes
  21. -- stack block size: 5632 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x00000000
  24. -- modified by hypercard version: 0x00000000
  25. -- opened by hypercard version: 0x00000000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. on openStack
  69.   Global OldUserLevel
  70.   put the userlevel into OldUserLevel
  71.   Set userLevel to 2
  72.   hide MenuBar
  73.   go to card "StartCard"
  74. end openStack
  75.  
  76. on CloseStack
  77.   Global OldUserLevel
  78.   set the userlevel to OldUserLevel
  79.  
  80.   get the freeSize of this stack
  81.   if it > 75000 then
  82.     put the value of it into NumK
  83.     put Round(NumK/1000) into NumK
  84.     answer "Because a significant number of cards have been " & "modified or deleted, you can reclaim approximately " & NumK & "k of available disk space by compacting this stack." with "Not Now" or "Compact"
  85.     if it is "Compact" then doMenu "Compact Stack"
  86.   end if
  87. end CloseStack
  88.  
  89. on mouseWithin
  90.   Global LastField, TrapFieldName
  91.  
  92.   -- Field Select, Copyright by Mac Help Co., January 1988
  93.   -- by Chris Hostetter, Mac Help Co., 1800 East Market Street
  94.   -- Long Beach, CA  90805, (213) 428-7414
  95.   --      This script is copyrighted and may not be
  96.   --      used without the written permission of the author (above).
  97.  
  98.   if TrapFieldName is "Sort" then
  99.     if the visible of the message box is false then
  100.       put empty into TrapFieldName
  101.       exit MouseWithin
  102.     end if
  103.     set cursor to 2
  104.  
  105.     if the commandkey is down then
  106.       put the name of the target into LastField
  107.       put empty into TrapFieldName
  108.       hide message box
  109.       answer "Sort in Ascending or Descending order?" with Ascending or Descending
  110.       if it is "Ascending" then do "sort ascending by" && LastField
  111.       if it is "Descending" then do "sort descending by" && LastField
  112.     end if
  113.   end if
  114.  
  115.   if TrapFieldName is "Delete" then
  116.     if the visible of the message box is false then
  117.       put empty into TrapFieldName
  118.       exit MouseWithin
  119.     end if
  120.     set cursor to 2
  121.  
  122.     if the commandkey is down then
  123.       put the name of the target into LastField
  124.       put empty into TrapFieldName
  125.       hide message box
  126.       ask "Ready to delete duplicates in field " with LastField
  127.       put the number of cards into TotalCards
  128.       put 0 into DeleteCount
  129.       set cursor to 4
  130.       repeat with i = 2 to TotalCards-DeleteCount
  131.         set lockscreen to false
  132.         go to card i of this background
  133.         set lockscreen to true
  134.         put the id of this card into StartID
  135.  
  136.         -- GET WHATEVER FIELD YOU WANT TO FIND INFORMATION IN
  137.         do "Get" && LastField
  138.  
  139.         repeat forever
  140.           find it
  141.           if the ID of this card is StartID then exit repeat
  142.           add 1 to DeleteCount
  143.           doMenu "Delete Card"
  144.         end repeat
  145.       end repeat
  146.       beep
  147.       beep
  148.       beep
  149.       answer DeleteCount && "duplicate cards found & deleted."
  150.     end if
  151.   end if
  152.  
  153.  
  154.   if TrapFieldName is "Sort List" then
  155.     if the visible of the message box is false then
  156.       put empty into TrapFieldName
  157.       exit MouseWithin
  158.     end if
  159.     set cursor to 2
  160.  
  161.     if the commandkey is down then
  162.       put the name of the target into LastField
  163.       put empty into TrapFieldName
  164.       hide message box
  165.       "SortList"
  166.     end if
  167.   end if
  168.  
  169. end mouseWithin
  170.  
  171.  
  172.  
  173. on "SortList"
  174.   Global LastField
  175.  
  176.   -- DELETE CARRIAGE RETURNS
  177.   set cursor to 4
  178.   set lockscreen to true
  179.   do "put the number of lines of" && LastField && "into TotalLines"
  180.   repeat with i = 0 to TotalLines-1
  181.     do "get line" && TotalLines-i && "of" && LastField
  182.     if it is empty then do "delete line" && TotalLines-i && "of" && LastField
  183.   end repeat
  184.   do "put the number of lines of" && LastField && "into TotalLines"
  185.  
  186.   put 0 into j
  187.   put False into Flag
  188.   repeat until Flag
  189.     add 1 to j
  190.     if j = TotalLines then exit repeat
  191.     do "put line" && j && "of" && LastField && "into temp1"
  192.     do "put line" && j+1 && "of" && LastField && "into temp2"
  193.  
  194.     if temp1 > Temp2 then
  195.       do "put" && Quote & temp1 & Quote && "into line" && j+1 && "of" && LastField
  196.       do "put" && Quote & temp2 & Quote && "into line" && j && "of" && LastField
  197.       put 0 into j
  198.     end if
  199.   end repeat
  200.   set lockscreen to false
  201.  
  202. end "SortList"
  203.  
  204. on "NumberOfCards"
  205.   put 2 into it
  206.   Put 5 - it into ReturnIT
  207.   Set userLevel to it
  208. end "NumberOfCards"
  209.  
  210. on idle
  211.   set userlevel to 2
  212. end idle
  213.